print(10)
print("NISKA")
a = 10
print(10)
a = input()
print(a)
n = input('Unesite vrednost n: ')
n = 10
print('Vrednost promenljive n je {}'.format(n))
a = 5
b = 6
print('a = {}, b = {}'.format(a, b))
try:
a = int(input())
print(a)
except:
print('Neispravna vrednost')
ulazni_fajl = open('ulaz.txt', 'r')
sadrzaj_datoteke = ulazni_fajl.read()
print(sadrzaj_datoteke)
try:
ulazni_fajl = open('nepostojeca_datoteka.txt', 'r')
sadrzaj_datoteke = ulazni_fajl.read()
print(sadrzaj_datoteke)
except:
print('Greska prilikom ucitavanja datoteke!')
try:
izlazni_fajl = open('izlaz.txt', 'w')
izlazni_fajl.write('Ovo je sadrzaj izlazne datoteke')
except:
print('Doslo je do greske!')
try:
a = int(input('Unesite vrednost celog broja a:'))
if a % 3 == 0:
print('Broj a je deljiv brojem 3')
elif a % 3 == 1:
print('Broj a daje ostatak 1 pri deljenju sa brojem 3')
else:
print('Broj a daje ostatak 2 pri deljenju sa brojem 3')
except:
print('Neispravna vrednost broja a!')
godina = 2000
if (godina % 4 == 0 and godina % 100 != 0) or (godina % 400 == 0):
print('Godina {} je prestupna'.format(godina))
else:
print('Godina {} je prosta'.format(godina))
for i in range(0,5): # C-ovski: for(i = 0; i < 5; i++)
print(i)
i = 0
while i < 5:
print(i)
i += 1 # operator ++ nije podrzan
lista = [1, 2, 3, 4]
print(lista)
lista = [1, 2, 3, 4]
n = len(lista)
print('Duzina liste je: {}'.format(n))
lista = [1, 2, 3, 4]
n = len(lista)
for i in range(0, n): # for i in range(len(lista)) [0,n) -> 0..n-1
print(lista[i])
lista = [1, 2, 3, 4]
n = len(lista)
for element in lista: # foreach
print(element)
lista = [1, 5, 2, 4, 3]
kvadrirana = [x**2 for x in lista] # ** - stepen
print(kvadrirana)
lista = [1, 2, 3, 4, 5]
neparni = [x for x in lista if x % 2 == 1]
print(neparni)
lista1 = [1, 2, 3, 4]
lista2 = ['a', 'b', 'c', 'd']
zipovana = zip(lista1, lista2)
print(zipovana)
for el in zipovana:
print(el)
lista = [1, 2, 3, 4, 5]
lista.reverse()
print(lista)
lista = [1, 5, 2, 4, 3]
lista.sort()
print(lista)
lista = [1, 5, 2, 4, 3]
lista.sort(reverse=True)
print(lista)
[polazni_indeks:zavrsni_index(n+1):korak]
lista = [1, 2, 3, 4]
print(lista[1:3]) # [1:3)
lista = [1, 2, 3, 4]
print(lista[1:4:2]) # 2, (3), 4
lista = [1, 2, 3, 4] # -4 -3 -2 -1
print(lista[-4:-1]) # [1, 2, 3, 4]
matrica = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print(matrica)
matrica = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print(matrica[2][2])
lista = [1, 2, 3, 4]
lista.append(5) # Dodavanje elementa na kraj liste
print(lista)
lista = [1, 2, 3, 4]
lista.insert(3,3.4) # Dodavanje vrednosti 3.4 na poziciju u listi sa indeksom 3
print(lista)
lista = [1, 2, 3, 4]
lista.pop() # Uklanjanje elementa sa kraja liste
print(lista)
lista1 = [1, 2, 3, 4]
lista2 = [5, 6, 7, 8]
print(lista1 + lista2) # Konkatenacija listi
element = 0
lista = [1, 2, 3, 4]
print ([element] + lista) # Dodavanje elementa na pocetak liste pomocu konkatenacije
lista = [1,2,3,4]
lista = lista[1:] # Uklanjanje elementa sa pocetka liste izdvajanjem podliste
print(lista)
niska = 'ABCD' # ili "ABCD"
print(niska)
niska = "ABCD"
print(niska + 'E') # Konkatenacija niski
niska = 'ABCDE'
for c in niska:
print(c)
Napomena: Liste su imutabilni objekti i njihov sadrzaj se ne moze menjati. Konkatenacija niski stvara novi objekat spojene niske
niska = 'ABCDE'
''' <- Ovo su oznake viselinijskih komentara
Ne radi
niska[0] = 'X'
print(niska)
'''
# Trik za izmenu karaktera niske
listaKaraktera = list(niska)
listaKaraktera[0] = 'X'
niska = ''.join(listaKaraktera)
print(niska)
torka = (1, 2, 3, 4)
print(torka)
torka = (7, 3, 9, 2)
print(torka[2])
import random
x = random.random()
print(x)
import random
x = random()
print(x)
import random
x = random.randrange(0, 10) # [0, 10)
print(x)
lista = [10, 100, 1000, 10000]
izabrani = random.choice(lista)
print(izabrani)
lista = [10, 100, 1000, 10000]
podskup = random.sample(lista, 3)
print(podskup)
skup = set([1, 2, 3, 4])
print(skup)
mapa = {
'a': 1,
'b': 2
}
print(mapa)
mapa = {
'a': 1,
'b': 2
}
print(mapa['a'])
mapa = {}
# ili
mapa = dict([])
# Dodavanje elemenata u mapu
mapa['a'] = 10
print(mapa['a'])
mapa = {
'a': 1,
'b': 2
}
# Uklanjanje elemenata mape
del mapa['a']
print(mapa)
g = {
'v': ['a','b','c']
}
print(g)
mapa = {
'a': 1,
'b': 2
}
# Iteracija kroz elemente mape
for (kljuc, vrednost) in mapa.items():
print('{}: {}'.format(kljuc, vrednost))
print(mapa.items())
import math
print(math.sqrt(4))
print(math.ceil(2.3))
print(math.floor(5.3))
# ...
def saberi(a, b, c=0):
return a + b + c
saberi(1,2)
# Funkcija moze vratiti vise argumenata kroz strukturu tuple
def minimum_i_maksimum(a, b):
minimum = min(a,b)
maksimum = max(a,b)
return (minimum, maksimum)
a = 10
b = 6.7
(mini, maksi) = minimum_i_maksimum(a, b)
print(mini, maksi)
# Funkcija moze vratiti niz
def niz_neparnih():
return [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
svi_neparni = niz_neparnih()
[prvi, drugi, treci] = niz_neparnih()[:3]
print(svi_neparni)
print(prvi, drugi, treci)
class Vozilo:
def __init__(self): # Konstruktor. Svi metodi klase za prvi argument imaju "self", kao referencu na objekat
print('Napravljeno je novo vozilo!')
# Instanciranje objekta klase Vozilo
# "Self" se pri pozivu ne navodi ni u konstruktoru ni u drugim metodima
vozilo1 = Vozilo()
class Vozilo:
def __init__(self, registarski_broj):
print('Napravljeno je novo vozilo sa registarskim brojem {}!'.format(registarski_broj))
self.registarski_broj = registarski_broj # Lokalne promenljive klase se dodeljuju na self
vozilo1 = Vozilo('BG-123-AB')
class Vozilo:
def __init__(self, registarski_broj):
print('Napravljeno je novo vozilo sa registarskim brojem {}!'.format(registarski_broj))
self.registarski_broj = registarski_broj
def __str__(self): # Metod vraca nisku koja se ispisuje prilikom ispisa objekta (toString metod u drugim jezicima)
return 'Vozilo: {}'.format(self.registarski_broj)
vozilo1 = Vozilo('BG-123-AB')
print(vozilo1)
class Vozilo:
def __init__(self, registarski_broj):
print('Napravljeno je novo vozilo sa registarskim brojem {}!'.format(registarski_broj))
self.registarski_broj = registarski_broj
def __str__(self):
return 'Vozilo: {}'.format(self.registarski_broj)
def vrati_registarski_broj(self): # Setter
return self.registarski_broj
def postavi_registarski_broj(self, novi_registarski_broj): # Getter
self.registarski_broj = novi_registarski_broj
vozilo1 = Vozilo('BG-123-AB')
print(vozilo1)
vozilo1.postavi_registarski_broj('BG-234-BC') # Pozivanje setter-a
print(vozilo1.vrati_registarski_broj()) # Pozivanje getter-a
class Vozilo:
def __init__(self, registarski_broj):
print('Napravljeno je novo vozilo sa registarskim brojem {}!'.format(registarski_broj))
self.registarski_broj = registarski_broj
def __str__(self):
return 'Vozilo: {}'.format(self.registarski_broj)
def vrati_registarski_broj(self):
return self.registarski_broj
def postavi_registarski_broj(self, novi_registarski_broj):
self.registarski_broj = novi_registarski_broj
# Virtuelni metod
def vrati_tip_vozila(self):
pass
vozilo1 = Vozilo('BG-123-AB')
print(vozilo1.vrati_tip_vozila())
class Vozilo:
def __init__(self, registarski_broj):
print('Napravljeno je novo vozilo sa registarskim brojem {}!'.format(registarski_broj))
self.registarski_broj = registarski_broj
def __str__(self):
return 'Vozilo: {}'.format(self.registarski_broj)
def vrati_registarski_broj(self):
return self.registarski_broj
def postavi_registarski_broj(self, novi_registarski_broj):
self.registarski_broj = novi_registarski_broj
# Virt. metod
def vrati_tip_vozila(self):
pass
# Ukoliko klasa nasledjuje drugu klasu, nasledjena klasa se navodi u zagradi pri deklaraciji podklase
class Automobil(Vozilo): # Klasa automobil nasledjuje klasu vozilo
def __init__(self, registarski_broj):
super().__init__(registarski_broj)
self.tip_vozila = 'Automobil'
def vrati_tip_vozila(self):
return self.tip_vozila
vozilo1 = Vozilo('BG-123-AB')
print(vozilo1.vrati_tip_vozila())
automobil1 = Automobil('BG-234-BC')
print(automobil1.vrati_tip_vozila())
class Vozilo:
brojVozila = 0 # Staticka promenljiva
def __init__(self, registarski_broj):
print('Napravljeno je novo vozilo sa registarskim brojem {}!'.format(registarski_broj))
self.registarski_broj = registarski_broj
Vozilo.brojVozila += 1
def __str__(self):
return 'Vozilo: {}'.format(self.registarski_broj)
def vrati_registarski_broj(self):
return self.registarski_broj
def postavi_registarski_broj(self, novi_registarski_broj):
self.registarski_broj = novi_registarski_broj
# Virt. metod
def vrati_tip_vozila(self):
pass
class Automobil(Vozilo):
def __init__(self, registarski_broj):
super().__init__(registarski_broj)
self.tip_vozila = 'Automobil'
def vrati_tip_vozila(self):
return self.tip_vozila
vozilo1 = Vozilo('BG-123-AB')
automobil1 = Automobil('BG-234-BC')
print(automobil1.brojVozila)